<?php

class AdminController extends Zend_Controller_Action 
{
    protected $_model;
	
	function indexAction()
	{
		$model = $this->_getModel();
		$view_list = $this->_model;
		$rowset = $view_list->fetchAll();
		// $rowset   = $bugs->fetchAll("bug_status = 'FIXED'");

		$rowCount = count($rowset);
		$this->view->view_list = $rowset;
		$this->view->rowCount  = $rowCount;
	}
	
	function addAction()
	{
		$form = $this->_getAdminForm();
		
        $form->submit->setLabel('Add');
        $this->view->form = $form;

		$request = $this->getRequest();
		if ($this->_request->isPost()) {
			$formData = $this->_request->getPost();
            if ($form->isValid($formData)) {
            	
				$model = $this->_getModel();
				$add   = $this->_model;
				
				$formData = $form->getValues();
                
				$row                       = $add->createRow();
                $row->nome                 = $form->getValue('nome');				
                $row->email                = $form->getValue('email');				
                $row->login                = $form->getValue('login');				
                $row->senha                = $form->getValue('senha');				
                $row->cargo                = $form->getValue('cargo');				
                $row->cadastra_organizador = $form->getValue('cadastra_organizador');
                $row->cadastra_prova       = $form->getValue('cadastra_prova');
				$row->cadastra_questao     = $form->getValue('cadastra_questao');
                $row->comenta_questao      = $form->getValue('comenta_questao');
                $row->confere_questao      = $form->getValue('confere_questao');
                $row->cadastra_produto     = $form->getValue('cadastra_produto');
                $row->cadastra_aluno       = $form->getValue('cadastra_aluno');
                $row->cadastra_convenio    = $form->getValue('cadastra_convenio');

                $row->save();
                
                return $this->_helper->redirector('index');
            } else {
                $form->populate($formData);
            }
        }
	}

	function showAction()
    {
		$cod_usuario = (int)$this->_request->getParam('cod_usuario');
				
		$model = $this->_getModel();
		$show = $this->_model;
		$this->view->show = $show->fetchRow('cod_usuario='.$cod_usuario);
	}

	function editAction()
    {
		$form = $this->_getAdminForm();
		
        $form->submit->setLabel('Save');
        $this->view->form = $form;
        
        if ($this->_request->isPost()) {
            $formData = $this->_request->getPost();
            if ($form->isValid($formData)) {
                
				$model = $this->_getModel();
				$edit = $this->_model;
                
				$cod_usuario		= (int)$form->getValue('cod_usuario');
                $row 				= $edit->fetchRow('cod_usuario='.$cod_usuario);

                $row->nome                 = $form->getValue('nome');				
                $row->email                = $form->getValue('email');				
                $row->login                = $form->getValue('login');				
                $row->senha                = $form->getValue('senha');				
                $row->cargo                = $form->getValue('cargo');				
                $row->cadastra_organizador = $form->getValue('cadastra_organizador');
                $row->cadastra_prova       = $form->getValue('cadastra_prova');
				$row->cadastra_questao     = $form->getValue('cadastra_questao');
                $row->comenta_questao      = $form->getValue('comenta_questao');
                $row->confere_questao      = $form->getValue('confere_questao');
                $row->cadastra_produto     = $form->getValue('cadastra_produto');
                $row->cadastra_aluno       = $form->getValue('cadastra_aluno');
                $row->cadastra_convenio    = $form->getValue('cadastra_convenio');
				
                $row->save();
                
                return $this->_helper->redirector('index');
            } else {
                $form->populate($formData);
            }
        } else {
            $cod_usuario = (int)$this->_request->getParam('cod_usuario', 0);
            if ($cod_usuario > 0) {
                
				$model = $this->_getModel();
				$edit = $this->_model;
				
                $edit = $edit->fetchRow('cod_usuario='.$cod_usuario);
                $form->populate($edit->toArray());
            }
        }
    }

	function deleteAction()
    {        
        if ($this->_request->isPost()) {
            $cod_usuario = (int)$this->_request->getPost('cod_usuario');
            $del = $this->_request->getPost('del');
            if ($del == 'Yes' && $cod_usuario > 0) {
                
				$model = $this->_getModel();
				$remove = $this->_model;
				
                $where = 'cod_usuario = ' . $cod_usuario;
                $remove->delete($where);
            }
            return $this->_helper->redirector('index');
        } else {
            $cod_usuario = (int)$this->_request->getParam('cod_usuario');
            if ($cod_usuario> 0) {
                
				$model = $this->_getModel();
				$remove = $this->_model;
				
                $this->view->remove = $remove->fetchRow('cod_usuario='.$cod_usuario);
            }
        }
    }

    protected function _getModel()
    {
        if (null === $this->_model) {
            require_once APPLICATION_PATH . '/models/Admin.php';
            $this->_model = new Model_Admin();
        }
        return $this->_model;
    }
	
	protected function _getAdminForm()
    {
        require_once APPLICATION_PATH . '/forms/AdminForm.php';
        $form = new Form_Admin();
		
        return $form;
    }

}

